﻿namespace WMS_MAV.DTO.Reportlosses
{
    public class UpdateReportlossesDto
    {
        /// <summary>
        /// 报损id
        /// </summary>
        public int? ReportlossesId { get; set; }
        /// <summary>
        /// 报损单号
        /// </summary>
        public string? ReportlossesNo { get; set; }
        /// <summary>
        /// 报损类型
        /// </summary>
        public string? ReportlossesType { get; set; }
        /// <summary>
        /// 关联订单号
        /// </summary>
        public string? AssociateNumber { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public string? SingleMaker { get; set; }
        /// <summary>
        /// 制单时间
        /// </summary>
        public DateTime? MakeTime { get; set; } = DateTime.Now;
        /// <summary>
        /// 单据状态
        /// </summary>
        public AuditStatuss? DocumentState { get; set; } = AuditStatuss.等待审核;
        /// <summary>
        /// 公司Id
        /// </summary>
        public string? officeId { get; set; }
        /// <summary>
        /// 用户Id
        /// </summary>
        public int? userid { get; set; }
        /// <summary>
        /// 审核原因
        /// </summary>
        public string? ExamineReason { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public string? ExaminePeople { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? ExamineTime { get; set; }
        /// <summary>
        /// 原库位
        /// </summary>
        public string? Wlocator { get; set; }
        /// <summary>
        /// 报损库位
        /// </summary>
        public string? WRepolocator { get; set; }

        // <summary>
        /// 创建人
        /// </summary>
        public string? CreateName { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateName { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }=DateTime.Now;
        /// <summary>
        /// 删除人
        /// </summary>
        public string? DeleteName { get; set; }
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeleteTime { get; set; }
        public List<reportProducts> reportProducts { get; set; }
    }

    /// <summary>
    /// 报损类型
    /// </summary>
    public enum AuditStatuss
    {
        全部 = 0,
        等待审核,
        审核成功,
        审核失败
    }
    public class reportProducts
    {
        public int ReportProductId { get; set; }
        /// <summary>
        /// 产品名称
        /// </summary>
        public string? ProductName { get; set; }
        /// <summary>
        /// 产品编码
        /// </summary>
        public string? ProductNo { get; set; }
        /// <summary>
        /// 规格
        /// </summary>
        public string? ProductSpec { get; set; }
        /// <summary>
        /// 批次
        /// </summary>
        public string? Batch { get; set; }
        /// <summary>
        /// 单价
        /// </summary>
        public string? Price { get; set; }
        /// <summary>
        /// 报损数量
        /// </summary>
        public int? ReportNum { get; set; }
        /// <summary>
        /// 当前库位
        /// </summary>
        public string? BinLocationName { get; set; }
        /// <summary>
        /// 报损id
        /// </summary>
        public int? ReportlossesId { get; set; }
        /// <summary>
        /// 公司Id
        /// </summary>
        public string? officeId { get; set; }
        /// <summary>
        /// 用户Id
        /// </summary>
        public int? userid { get; set; }

        /// <summary>
        /// 原库位
        /// </summary>
        public string? Wlocator { get; set; }
        /// <summary>
        /// 报损库位
        /// </summary>
        public string? WRepolocator { get; set; }

        // <summary>
        /// 创建人
        /// </summary>
        public string? CreateName { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateName { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        /// <summary>
        /// 删除人
        /// </summary>
        public string? DeleteName { get; set; }
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeleteTime { get; set; }
    }
}
